/********************************************************************
created:	2018/07/16
filename: 	.\include\SSCFETSModel.h
author:		Lance
purpose:	CFEST相关通讯协议
*********************************************************************/
#pragma once
#include <list>
#include <memory>
#include <core/time/time.h>

//E_FID_QB_CFETS_QUOTE_BEST_ALL_REQ = 50352,			//CFETS行情最优报价全量请求（增量）
//请求同50121
//struct xQBBestPriceItem_t{
//	char	m_BrokerID[32 + 1];		// BrokerID = 50
//	int		m_VersionFrom;			// 默认为0，表示从头开始。
//	int		m_VersionTo;			// 默认为－1，表示一直到最后一个版本
//};
//应答同50121
//class xQBBestPriceListAck_c {
//public:
//	std::list<xQBBestPriceUnit_c> m_List;						//最优报价列表数据
//	std::list<xQBBestPriceVersionUnit_c> m_extList;				//版本信息列表，请求的时候返回最新的版本号，推送list为空，补推送也为空
//	char	m_BusinessCode[32 + 1];								//Broker权限，BOND，NCD，空=全
//};

//E_FID_QB_CFETS_BEST_QUOTE_ALL_PUSH_V2 = 50353,			//CFETS行情最优报价全量注册
//E_FID_QB_CFETS_BEST_QUOTE_ALL_PUSH_V2_CANCEL = 50354,			//CFETS行情最优报价全量取消注册
//请求应答同50352

//E_FID_QB_CFETS_QUOTE_MARKETMAKER_ALL_V2_REQ = 50355,			//CFETS行情做市报价全量请求（增量）
//请求应答同50352
//E_FID_QB_CFETS_QUOTE_MARKETMAKER_ALL_PUSH = 50356,			//CFETS行情做市报价全量注册
//E_FID_QB_CFETS_QUOTE_MARKETMAKER_ALL_PUSH_CANCEL = 50357,		//CFETS行情做市报价全量取消注册
//请求应答同50353, 50354

//E_FID_QB_CFETS_QUOTE_XBOND_ALL_REQ = 50358,			//CFETS行情X-BOND报价全量请求（增量）
//请求应答同50352
//E_FID_QB_CFETS_XBOND_QUOTE_ALL_PUSH_V2 = 50359,			//CFETS行情X-BOND报价全量注册
//E_FID_QB_CFETS_XBOND_QUOTE_ALL_PUSH_V2_CANCEL = 50360,			//CFETS行情X-BOND报价全量取消注册
//请求应答同50353, 50354

//E_FID_QB_CFETS_DEAL_ALL_REQ = 50361,			//CFETS行情成交行情（高开低收）全量请求（增量）
//请求同50352
//应答
struct xQBCFETSDealAllUnit{
	char	m_bondkey[32 + 1];			//产品ID', bondkey，如果为空则查询所有，否则查询指定券
	char	m_listedmarket[8];			//市场代码
	char	m_price[12];				//最新
	char	m_open[12];					//开盘
	char	m_high[12];					//最高
	char	m_low[12];					//最低
	char	m_preclose[12];				//昨收
	char	m_volume[12];				//成交量
	char	m_increase[12];				//涨跌BP
	char	m_weightedmean[12];			//加权平均
	time_t	m_time;						//时间
	int		m_version;					//索引
	xQBCFETSDealAllUnit(){ memset(this, 0, sizeof(xQBCFETSDealAllUnit)); };
};

struct xQBCFETSDealAllAck{
	char	m_BrokerID[32 + 1];			// BrokerID = 50
	std::list<xQBCFETSDealAllUnit> m_list;
	xQBCFETSDealAllAck(){ m_BrokerID[0] = '\0'; };
};
//E_FID_QB_CFETS_DEAL_ALL_PUSH = 50362,			//CFETS行情成交行情全量注册
//E_FID_QB_CFETS_DEAL_ALL_PUSH_CANCEL = 50363,			//CFETS行情成交行情全量取消注册
//请求应答同50361

//E_FID_QB_CFETS_DEAL_TICK_ALL_REQ = 50364,			//CFETS行情逐笔成交全量请求（增量）
//请求同50352
//应答同50124
//struct xQBMarketStreamType2Body_c {//MS_TYPE = 2,成交状态
//	time_t		m_createTime;				//创建时间
//	char		m_bondCode[12];				//债券代码
//	char		m_bondkey[32 + 1];			//key
//	char		m_listedmarket[8];			//市场代码
//	char		m_bondShortName[32];		//简称
//	char		m_price[12];				//收益率
//	char		m_volume[64];				//有可能出现"40234+3212"的情况、
//	char		m_fullPrice[12];			//
//	char		m_cleanPrice[12];			//
//	char		m_yield[12];				//收益率
//	char		m_rebate[4];				//是否返点(0-不返，1返点)
//	char		m_return_point[12];			//返点值(例: F0.10),值可以是0.0,也可以是空，代表不同的含义,空代表"全返",要注意区分
//	char		m_id[32 + 1];					//唯一编号
//	char		m_dealStatus[2];			//"0 ~ 3: 客户端显示成交，		4 ~ 6: 客户端删除成交"
//	char		m_exercise[2];				//行权到期  (0-行权 1-到期)
//};
//struct xQBMarketStreamUnit_c {
//	char		m_company_id[4];			//经纪公司ID',
//	char		m_company_name[64];			//经纪公司名称',
//	char		m_dept[32];					//业务类型，如：Bond IRS',
//	char		m_type[5];					//消息类型\n1：最优报价\n2：成交状态\n3：我的报价进入区间\n4：我的报价\n5：我的成交单',
//	char		m_operate[5];				// '消息子类',
//	char		m_status[5];				//,2--无效
//	time_t		m_modify_time;				//datetime,
//	time_t		m_create_time;				//datetime,
//	int			m_indexID;					//报价序号，日内自增
//	//	union {
//	xQBMarketStreamType1Body_c	 m_body1;			//MS_TYPE = 1,最优报价
//	xQBMarketStreamType2Body_c	 m_body2;			//MS_TYPE = 2,成交状态
//	//	};
//};
//class xQBMarketStreamList_c {
//public:
//	std::list<xQBMarketStreamUnit_c> m_List;					//市场动向列表数据
//	char	m_BusinessCode[32 + 1];								//Broker权限，BOND，NCD，空=全
//};

//E_FID_QB_CFETS_DEAL_TICK_ALL_PUSH = 50365,			//CFETS行情逐笔成交全量注册
//E_FID_QB_CFETS_DEAL_TICK_ALL_PUSH_CANCEL = 50366,			//CFETS行情逐笔成交全量取消注册
//请求应答同50364

//E_FID_QB_CFETS_DEAL_MARKETMAKER_ALL_REQ = 50367,			//CFETS行情做市成交全量请求（增量）
//E_FID_QB_CFETS_DEAL_MARKETMAKER_ALL_PUSH = 50368,			//CFETS行情做市成交全量注册
//E_FID_QB_CFETS_DEAL_MARKETMAKER_ALL_PUSH_CANCEL = 50369,		//CFETS行情做市成交全量取消注册
//请求应答同50364
